R4 Draft for Comment

This page is part of the FHIR Specification (v3.2.0: R4 Ballot 1). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R4 R3 R2

Electronic Health Records Work Group Maturity Level: 1Informative Use Context: Any

The official URL for this profile is:

http://hl7.org/fhir/StructureDefinition/ehrsrle-provenance

Defines the elements to be supported within the Provenance resource in order to conform with the Electronic Health Record System Functional Model Record Lifecycle Event standard

This profile was published on Fri, Jan 31, 2014 00:00+1100 as a draft by Health Level Seven International (Electronic Health Record).

Description of Profiles, Differentials, Snapshots, and how the XML and JSON presentations work.

This structure is derived from Provenance.

Summary

Must-Support: 11 elements

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance I0..*Who, What, When for a set of resources
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... target SΣ1..*Reference(Resource)Target Reference(s) (usually version specific)
... occurred[x] S0..1Period, dateTimeWhen the activity occurred
... recorded SΣ1..1instantWhen the activity was recorded / updated
... policy S0..*uriPolicy or plan the activity was defined by
... location S0..1Reference(Location)Where the activity occurred, if relevant
... reason S0..*CodeableConceptReason the activity is occurring
Binding: PurposeOfUse (extensible)
... activity S0..1CodeableConceptActivity that occurred
Binding: ProvenanceActivityType (extensible)
... agent SI1..*BackboneElementActor involved
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type Σ0..1CodeableConceptHow the agent participated
Binding: ParticipationRoleType (extensible)
.... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example)
.... who[x] SΣ1..1Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization)Who participated
.... onBehalfOf[x] S0..1Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization)Who the agent is representing
... entity I0..*BackboneElementAn entity used in this activity
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required)
.... what[x] Σ1..1Identifier, Reference(Resource)Identity of entity
.... agent 0..*Unknown reference to #Provenance.agent
Entity is attributed to this agent
... signature S0..*SignatureSignature on target

doco Documentation for this format
<!-- EHRS FM Record Lifecycle Event - Provenance -->doco

<Provenance xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <id value="[id]"/><!-- 0..1 Logical id of this artifact -->
 <meta><!-- 0..1 Meta Metadata about the resource --></meta>
 <implicitRules value="[uri]"/><!-- 0..1 A set of rules under which this content was created -->
 <language value="[code]"/><!-- 0..1 Language of the resource content  -->
 <text><!-- 0..1 Narrative 
     Text summary of the resource, for human interpretation --></text>
 <contained><!-- 0..* Resource Contained, inline Resources --></contained>
 <modifierExtension><!-- 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
 <target><!-- 1..* Reference(Resource) 
     Target Reference(s) (usually version specific) --></target>
 <occurred[x]><!-- 0..1 Period|dateTime 
     When the activity occurred --></occurred[x]>
 <recorded value="[instant]"/><!-- 1..1 When the activity was recorded / updated -->
 <policy value="[uri]"/><!-- 0..* Policy or plan the activity was defined by -->
 <location><!-- 0..1 Reference(Location) 
     Where the activity occurred, if relevant --></location>
 <reason><!-- 0..* CodeableConcept Reason the activity is occurring  --></reason>
 <activity><!-- 0..1 CodeableConcept Activity that occurred  --></activity>
 <agent> ?? 1..* BackboneElement  <!-- ?? 1..* Actor involved -->
  <modifierExtension><!-- 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
  <type><!-- 0..1 CodeableConcept How the agent participated  --></type>
  <role><!-- 0..* CodeableConcept What the agents role was  --></role>
  <who[x]><!-- 1..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|Reference(RelatedPerson)|
    Reference(Patient)|Reference(Device)|Reference(Organization) Who participated --></who[x]>
  <onBehalfOf[x]><!-- 0..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|
    Reference(RelatedPerson)|Reference(Patient)|Reference(Device)|Reference(Organization) 
      Who the agent is representing --></onBehalfOf[x]>
 </agent>
 <entity> ?? 0..* BackboneElement  <!-- ?? 0..* An entity used in this activity -->
  <modifierExtension><!-- 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
  <role value="[code]"/><!-- 1..1 derivation | revision | quotation | source | removal  -->
  <what[x]><!-- 1..1 Identifier|Reference(Resource) 
      Identity of entity --></what[x]>
  <agent><!-- See #Provenance.agent  Entity is attributed to this agent --></agent>
 </entity>
 <signature><!-- 0..* Signature Signature on target --></signature>
</Provenance>
{ // EHRS FM Record Lifecycle Event - Provenance
  // from Element: extension
    "meta" : { Meta }, //Metadata about the resource
    "implicitRules" : "<uri>", //A set of rules under which this content was created
    "language" : "<code>", //Language of the resource content 
    "text" : { Narrative }, //Text summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "modifierExtension" : [{ Extension }], //Extensions that cannot be ignored
    "target" : [{ Reference(Resource) }], // R! Target Reference(s) (usually version specific)
// value[x]: When the activity occurred. One of these 2:
    "occurredPeriod" : { Period }, //When the activity occurred
    "occurredDateTime" : "<dateTime>", //When the activity occurred
    "recorded" : "<instant>", // R! When the activity was recorded / updated
    "policy" : ["<uri>"], //Policy or plan the activity was defined by
    "location" : { Reference(Location) }, //Where the activity occurred, if relevant
    "reason" : [{ CodeableConcept }], //Reason the activity is occurring 
    "activity" : { CodeableConcept }, //Activity that occurred 
    "agent" : [{ BackboneElement }], // C? R! Actor involved
    "entity" : [{ BackboneElement }] // C?An entity used in this activity
    "signature" : [{ Signature }], //Signature on target
  }

This structure is derived from Provenance.

Summary

Must-Support: 11 elements

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Provenance I0..*Who, What, When for a set of resources
... id Σ0..1idLogical id of this artifact
... meta Σ0..1MetaMetadata about the resource
... implicitRules ?!Σ0..1uriA set of rules under which this content was created
... language 0..1codeLanguage of the resource content
Binding: Common Languages (extensible)
... text I0..1NarrativeText summary of the resource, for human interpretation
... contained 0..*ResourceContained, inline Resources
... extension 0..*ExtensionAdditional Content defined by implementations
... modifierExtension ?!0..*ExtensionExtensions that cannot be ignored
... target SΣ1..*Reference(Resource)Target Reference(s) (usually version specific)
... occurred[x] S0..1Period, dateTimeWhen the activity occurred
... recorded SΣ1..1instantWhen the activity was recorded / updated
... policy S0..*uriPolicy or plan the activity was defined by
... location S0..1Reference(Location)Where the activity occurred, if relevant
... reason S0..*CodeableConceptReason the activity is occurring
Binding: PurposeOfUse (extensible)
... activity S0..1CodeableConceptActivity that occurred
Binding: ProvenanceActivityType (extensible)
... agent SI1..*BackboneElementActor involved
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... type Σ0..1CodeableConceptHow the agent participated
Binding: ParticipationRoleType (extensible)
.... role 0..*CodeableConceptWhat the agents role was
Binding: SecurityRoleType (example)
.... who[x] SΣ1..1Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization)Who participated
.... onBehalfOf[x] S0..1Identifier, Reference(Practitioner), Reference(PractitionerRole), Reference(RelatedPerson), Reference(Patient), Reference(Device), Reference(Organization)Who the agent is representing
... entity I0..*BackboneElementAn entity used in this activity
.... id 0..1stringxml:id (or equivalent in JSON)
.... extension 0..*ExtensionAdditional Content defined by implementations
.... modifierExtension ?!Σ0..*ExtensionExtensions that cannot be ignored
.... role Σ1..1codederivation | revision | quotation | source | removal
Binding: ProvenanceEntityRole (required)
.... what[x] Σ1..1Identifier, Reference(Resource)Identity of entity
.... agent 0..*Unknown reference to #Provenance.agent
Entity is attributed to this agent
... signature S0..*SignatureSignature on target

doco Documentation for this format

XML Template

<!-- EHRS FM Record Lifecycle Event - Provenance -->doco

<Provenance xmlns="http://hl7.org/fhir"
>
  <!-- from Element: extension -->
 <id value="[id]"/><!-- 0..1 Logical id of this artifact -->
 <meta><!-- 0..1 Meta Metadata about the resource --></meta>
 <implicitRules value="[uri]"/><!-- 0..1 A set of rules under which this content was created -->
 <language value="[code]"/><!-- 0..1 Language of the resource content  -->
 <text><!-- 0..1 Narrative 
     Text summary of the resource, for human interpretation --></text>
 <contained><!-- 0..* Resource Contained, inline Resources --></contained>
 <modifierExtension><!-- 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
 <target><!-- 1..* Reference(Resource) 
     Target Reference(s) (usually version specific) --></target>
 <occurred[x]><!-- 0..1 Period|dateTime 
     When the activity occurred --></occurred[x]>
 <recorded value="[instant]"/><!-- 1..1 When the activity was recorded / updated -->
 <policy value="[uri]"/><!-- 0..* Policy or plan the activity was defined by -->
 <location><!-- 0..1 Reference(Location) 
     Where the activity occurred, if relevant --></location>
 <reason><!-- 0..* CodeableConcept Reason the activity is occurring  --></reason>
 <activity><!-- 0..1 CodeableConcept Activity that occurred  --></activity>
 <agent> ?? 1..* BackboneElement  <!-- ?? 1..* Actor involved -->
  <modifierExtension><!-- 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
  <type><!-- 0..1 CodeableConcept How the agent participated  --></type>
  <role><!-- 0..* CodeableConcept What the agents role was  --></role>
  <who[x]><!-- 1..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|Reference(RelatedPerson)|
    Reference(Patient)|Reference(Device)|Reference(Organization) Who participated --></who[x]>
  <onBehalfOf[x]><!-- 0..1 Identifier|Reference(Practitioner)|Reference(PractitionerRole)|
    Reference(RelatedPerson)|Reference(Patient)|Reference(Device)|Reference(Organization) 
      Who the agent is representing --></onBehalfOf[x]>
 </agent>
 <entity> ?? 0..* BackboneElement  <!-- ?? 0..* An entity used in this activity -->
  <modifierExtension><!-- 0..* Extension  Extensions that cannot be ignored  --></modifierExtension>
  <role value="[code]"/><!-- 1..1 derivation | revision | quotation | source | removal  -->
  <what[x]><!-- 1..1 Identifier|Reference(Resource) 
      Identity of entity --></what[x]>
  <agent><!-- See #Provenance.agent  Entity is attributed to this agent --></agent>
 </entity>
 <signature><!-- 0..* Signature Signature on target --></signature>
</Provenance>

JSON Template

{ // EHRS FM Record Lifecycle Event - Provenance
  // from Element: extension
    "meta" : { Meta }, //Metadata about the resource
    "implicitRules" : "<uri>", //A set of rules under which this content was created
    "language" : "<code>", //Language of the resource content 
    "text" : { Narrative }, //Text summary of the resource, for human interpretation
    "contained" : [{ Resource }], //Contained, inline Resources
    "modifierExtension" : [{ Extension }], //Extensions that cannot be ignored
    "target" : [{ Reference(Resource) }], // R! Target Reference(s) (usually version specific)
// value[x]: When the activity occurred. One of these 2:
    "occurredPeriod" : { Period }, //When the activity occurred
    "occurredDateTime" : "<dateTime>", //When the activity occurred
    "recorded" : "<instant>", // R! When the activity was recorded / updated
    "policy" : ["<uri>"], //Policy or plan the activity was defined by
    "location" : { Reference(Location) }, //Where the activity occurred, if relevant
    "reason" : [{ CodeableConcept }], //Reason the activity is occurring 
    "activity" : { CodeableConcept }, //Activity that occurred 
    "agent" : [{ BackboneElement }], // C? R! Actor involved
    "entity" : [{ BackboneElement }] // C?An entity used in this activity
    "signature" : [{ Signature }], //Signature on target
  }

 

Alternate definitions: Master Definition (XML, JSON), Schematron

PathNameConformanceValueSet
Provenance.languageCommon LanguagesextensibleCommon Languages
Provenance.reasonPurposeOfUseextensiblePurposeOfUse
Provenance.activityProvenanceActivityTypeextensibleProvenanceActivityType
Provenance.agent.typeParticipationRoleTypeextensibleParticipationRoleType
Provenance.agent.role?extexamplesecurity-role-type
Provenance.entity.roleProvenanceEntityRolerequiredProvenanceEntityRole
.